#!/usr/bin/python3
# _*_ coding: utf-8 _*_
#
# Copyright (C) 2022 - 2022 heihieyouheihei, Inc. All Rights Reserved 
#
# @Time    : 2022/12/30 23:23
# @Author  : heihieyouheihei
# @File    : base4_grammar_25.py
# @IDE     : PyCharm
# 集合的创建
# 可变集合set,不可变集合frozenset(不做讲解)
# 概念: 把一些能够确定的同对象看成一个整体,那么这个整体是由这些对象构成的集合
# 集合通常采用{}或者大写的拉丁字母表示
# Python:用于保存不重复元素,最好的应用是去重,因为集合中的每一个元素都是唯一的
# 1.1集合的创建
# 1.2集合的添加和删除
# 1.3集合的交.并.差运算

# 1.1 集合的创建
set1 = {'水瓶座','射手座','双鱼座','双子座'}    # 定义了一个集合
print(set1)
set2 = {'水瓶座','射手座','双鱼座','双子座','水瓶座'}
print("集合中有相同元素的集合结果输出:",set2)    # 集合是不重复对象的整体,当出现多个相同元素的时候只保留一个元素
# 集合是无序的,每次集合的输出位置都有可能不一样,所以不能通过索引
# print("指定索引值的结果:",set2[1])    # 这样就会报错,不能通过索引值来选择元素,集合是无序的

python = {"绮梦","冷伊一","香凝","梓轩"}    # 选择Python的学生名字集合
c = {"冷伊一","凌宇","梓轩","盛博"}    # 选择C语言的学生名字集合
print("选择Python学生名字集合:",python)
print('\n')
print("选择c学生名字集合:",c)

# 定义一个空的集合
set3 = set()
print("看一下定义的空集合长什么样子:",set3,"看一下这个集合的类型是不是空集合",type(set3))    # set是集合类型
name = ["绮梦","冷伊一","香凝","梓轩"]    # 定义一个列表
set(name)
print("通过set()把列表转化为集合:",set(name),"再次确认下数据类型:",type(set(name)))
# 如果在列表中有重复的元素,在转化为集合的时候,重复元素只显示1次
name1 = ['1','1','2','3']
print("列表:",name1)
print("如果在列表中有重复的元素,在转化为集合的时候:",set(name1))